/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package sv.com.globalsolutionslt.controlador;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import sv.com.globalsolutionslt.entidades.Persona;
import sv.com.globalsolutionslt.entidades.Postulacion;
import sv.com.globalsolutionslt.entidades.Publicacion;

/**
 *
 * @author sysmanager
 */
@Stateless
public class PostulacionFacade extends AbstractFacade<Postulacion> {
    @PersistenceContext(unitName = "BoldeDeTrabajoPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PostulacionFacade() {
        super(Postulacion.class);
    }
    public long ContarPostulantes(Publicacion p) {        

        long postulaciones=0;            
        try {               
            String sql = "SELECT count(p) FROM Postulacion p where p.idPublicacion.idPublicacion="+p.getIdPublicacion();  
            Query q = em.createQuery(sql);             
            postulaciones = (long) q.getSingleResult();
        } catch (NoResultException e) {
                System.out.println("Sin resultados");
        }
        return postulaciones;
    }     
    public List<Postulacion> PostulacionesCandidato(Persona p) {        

        List<Postulacion> postulaciones=null;            
        try {               
            String sql = "SELECT p FROM Postulacion p where p.idPersona.idPersona="+p.getIdPersona()+" order by p.idDetallePost desc";  
            System.out.println(sql);
            Query q = em.createQuery(sql); 
//            q.setFirstResult((int) pg*10);
//            q.setMaxResults(10);            
            postulaciones = q.getResultList();        
        } catch (NoResultException e) {
                System.out.println("Sin resultados");
        }
        return postulaciones;
    }   
    public List<Postulacion> PublicacionesEmpresa() {        

        List<Postulacion> postulaciones=null;            
        try {               
            String sql = "SELECT p FROM Postulacion p order by p.idDetallePost desc";  
            System.out.println(sql);
            Query q = em.createQuery(sql); 
            postulaciones = q.getResultList();        
        } catch (NoResultException e) {
                System.out.println("Sin resultados");
        }
        return postulaciones;
    }    
    
}
